package com.yitong.profile.exception;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.yitong.base.domain.JsonResponse;

//@WebFilter(urlPatterns = "/*")
public class ExceptionFilter implements Filter {

	@Override
	public void init(FilterConfig filterConfig) throws ServletException {

	}

	@Override
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,
			ServletException {

		try {
			chain.doFilter(request, response);
		} catch (Exception e) {
			JsonResponse response2 = new JsonResponse();
			response2.setSuccess(false);
			response2.setMessage(e.getMessage());

			ObjectMapper jsonMapper = new ObjectMapper();
			String body = jsonMapper.writeValueAsString(response);
			response.setContentType("application/json; charset=UTF-8");
			response.getWriter().write(body);
		}

	}

	@Override
	public void destroy() {

	}

}
